package com.shujia.seven;

import org.junit.Test;

import java.util.Arrays;

public class ArraysDemo {



    @Test
    public void test2() {


        // 定义一个长度为3的二维数组,一维数组没有初始化
        int[][] arr = new int[3][];


        // int[][] arr1 = new int[][3]; //非法

        // 初始化二维数组中的一维数组
        arr[0] = new int[2];// 2列
        arr[1] = new int[3];// 3列
        arr[2] = new int[4];// 4列

        arr[0][1] = 12;
        arr[2][3] = 22;// 没有问题
        // ArrayIndexOutOfBoundsException
        // arr[0][3] = 33;// 数组越界


        // 二维数组的遍历
        for (int i = 0; i < arr.length; i++) {
            // arr[i] 获取的是一维数组
            for (int j = 0; j < arr[i].length; j++) {
                System.out.print(arr[i][j]);
                System.out.print(" ");
            }
            System.out.println();
        }


    }

    @Test
    public void test1() {
        //null：空值，引用数据类型的默认值，表示不指向任何有效对象
//        int[]
        // 可以类比一个表格, 3行2列的表格
        int[][] arr = new int[3][2];

        // 二维数组的长度
        System.out.println(arr.length);

        // 获取二维数组里面的一维数组
        // 获取第一个一维数组
        int[] subArr = arr[0];
        System.out.println(Arrays.toString(subArr));

        // 修改一维数组的元素值
        subArr[0] = 10;
        arr[0][1] = 20;

        System.out.println(Arrays.toString(subArr));

        // 二维数组的遍历
        for (int i = 0; i < arr.length; i++) {
            // arr[i] 获取的是一维数组
            for (int j = 0; j < arr[i].length; j++) {
                System.out.print(arr[i][j]);
                System.out.print(" ");
            }
            System.out.println();
        }
    }
}
